package com.ruoyi.business.service;

import com.ruoyi.business.domain.RechargeOrder;

import java.util.List;
import java.util.Map;

/**
 * 话费充值订单Service接口
 * 
 * @author xx
 * @date 2020-03-22
 */
public interface RechargeOrderService {
    /**
     * 查询话费充值订单
     * 
     * @param id 话费充值订单ID
     * @return 话费充值订单
     */
     RechargeOrder selectRechargeOrderById(Long id);

    /**
     * 查询话费充值订单列表
     * 
     * @param rechargeOrder 话费充值订单
     * @return 话费充值订单集合
     */
    List<RechargeOrder> selectRechargeOrderList(RechargeOrder rechargeOrder);

    /**
     * 新增话费充值订单
     * 
     * @param rechargeOrder 话费充值订单
     * @return 结果
     */
    int insertRechargeOrder(RechargeOrder rechargeOrder);

    /**
     * 修改话费充值订单
     * 
     * @param rechargeOrder 话费充值订单
     * @return 结果
     */
    int updateRechargeOrder(RechargeOrder rechargeOrder);

    /**
     * 批量删除话费充值订单
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteRechargeOrderByIds(String ids);

    /**
     * 删除话费充值订单信息
     * 
     * @param id 话费充值订单ID
     * @return 结果
     */
    int deleteRechargeOrderById(Long id);

    /**
     * 处理异步通知
     * @param params 通知参数
     */
    void doNotify(Map<String, String[]> params);

    /**
     * 结算
     * @param rechargeOrder
     * @return
     */
    int settle(RechargeOrder rechargeOrder);

    /**
     * 导入
     * @param orderList
     * @param operId
     * @param operName
     * @return
     */
    String importOrder(List<RechargeOrder> orderList, Long operId, String operName);

    RechargeOrder selectByUserIdAndOrderNum(Long userId, String orderNum);
}
